package com.agritech.service;

import com.agritech.entity.Knowledge;

import java.util.List;

/**
 * 知识服务接口
 */
public interface KnowledgeService {
    
    /**
     * 根据分类ID获取知识列表
     * @param categoryId 分类ID
     * @return 知识列表
     */
    List<Knowledge> getKnowledgeByCategory(Long categoryId);
    /**
     * 根据关键词查询知识列表
     * @param keywords 关键词
     * @return 知识列表
     */
    List<Knowledge> list(String keywords);
    /**
     * 根据ID获取知识详情
     * @param id 知识ID
     * @return 知识对象
     */
    Knowledge getKnowledgeById(Long id);
    
    /**
     * 获取最新知识
     * @param limit 获取数量
     * @return 知识列表
     */
    List<Knowledge> getLatestKnowledge(int limit);
    
    /**
     * 添加新知识
     * @param knowledge 知识对象
     * @return 添加结果
     */
    boolean addKnowledge(Knowledge knowledge);
    
    /**
     * 更新知识信息
     * @param knowledge 知识对象
     * @return 更新结果
     */
    boolean updateKnowledge(Knowledge knowledge);
    
    /**
     * 删除知识
     * @param id 知识ID
     * @return 删除结果
     */
    boolean deleteKnowledge(Long id);

    /**
     * 分页获取知识列表
     * @param page 当前页码
     * @param pageSize 每页数量
     * @return 知识列表
     */
    List<Knowledge> getKnowledgeList(int page, int pageSize);
}    